In numerous applications, especially in the automotive industry, a controller area network (CAN) bus is used to allow microcontrollers and devices to communicate with each other within a vehicle or system without using a host computer. A CAN bus uses a message-based protocol designed specifically for automotive applications; however, the CAN bus protocol is now also used in areas such as aerospace, maritime, industrial automation, and medical equipment.
Development of the CAN bus protocol started at Robert Bosch GmbH. The protocol was officially released at the Society of Automotive Engineers (SAE) congress in Detroit, Mich. and the first CAN controller chips were produced by Intel and Philips. Bosch has since continued to extend the CAN standards. For example, Bosch released CAN FD 1.0, which describes a CAN protocol with a flexible data rate. The CAN FD specification uses a different format that allows different data lengths and variable bit rates during data transmission.
The CAN bus protocol is one of five protocols used in the on-board diagnostics (OBD)-II vehicle diagnostics standard. The OBD-II standard is important in the automotive industry and has been mandatory for all cars and light trucks sold in the United States since 1996.
As a further example, a modern automobile may have as many as 70 electronic control units (ECU) for various subsystems. Typically, the biggest processor is the engine control unit, and others are used for the transmission, airbag system, antilock braking system (ABS), cruise control, electric power steering, audio systems, power windows, doors, mirror adjustment system, battery system, or recharging systems for hybrid/electric cars, for example. Depending on the system, some may operate independently or nearly independently while other systems may require substantial communication with various additional systems in order to operate properly. The CAN bus protocol allows these disparate systems to interact safely, simply, and efficiently.
The CAN bus protocol includes a multi-master serial bus standard for connecting ECUs, referred to as nodes, to one another. Two or more nodes are connected on a CAN bus and communicate with each other over the bus. In different examples, the complexity of a node can range from a simple I/O device up to an embedded computer with a CAN interface and sophisticated software. Some nodes may also act as a gateway allowing a standard computer to communicate over a USB or Ethernet port to the devices on a CAN network.
According to the CAN bus protocol, each node is able to send and receive messages. A message, which may be referred to as a frame or telegram, consists primarily of an ID (identifier), which represents the priority of the message, and up to eight data bytes. The improved CAN FD extends the length of the data section to up to 64 bytes per message or frame. The frames are transmitted serially onto the bus encoded in a non-return-to-zero (NRZ) format, and each frame may be received by all nodes.
Generally, devices connected by a CAN bus are sensors, actuators, and other control devices. These devices are not connected directly to the bus, but through a CAN controller. In various applications, electromagnetic frequency (EMF) emissions may be produced by a CAN bus, and these emissions may cause detrimental effects in some circumstances. Innovations in CAN bus transceivers and associated circuits may improve operations of a CAN bus in various circumstances.